#include <bits/stdc++.h>
using namespace std;
int t,n,k;
const int N=1e5+50;
int a[N],dp[N][2];
int main(void){
    scanf("%d",&t);
    while(t--){
        memset(a,0,sizeof(a));
        memset(dp,0,sizeof(dp));
        scanf("%d%d",&n,&k);
        for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
        }
        dp[1][0]=0;
        dp[1][1]=a[1];
        for(int i=2;i<=n;i++){
            dp[i][0]=max(dp[i-1][0],dp[i-1][1]);
            dp[i][1]=max(dp[i-k-1][0],dp[i-k-1][1])+a[i];
        }
        printf("%d\n",max(dp[n][0],dp[n][1]));
    }
    return 0;
}